# model settings
norm_cfg = dict(type='SyncBN', requires_grad=True, momentum=0.01)
model = dict(
    type='EncoderDecoder',
    backbone=dict(type='FastSCNN',
                  downsample_dw_channels=(32, 48),
                  global_in_channels=64,
                  global_block_channels=(64, 96, 128),
                  global_block_strides=(2, 2, 1),
                  global_out_channels=128,
                  higher_in_channels=64,
                  lower_in_channels=128,
                  fusion_out_channels=128,
                  out_indices=(0, 1, 2),
                  norm_cfg=norm_cfg,
                  align_corners=False),
    decode_head=dict(type='DepthwiseSeparableFCNHead',
                     in_channels=128,
                     channels=128,
                     concat_input=False,
                     num_classes=19,
                     in_index=-1,
                     norm_cfg=norm_cfg,
                     align_corners=False,
                     loss_decode=dict(type='CrossEntropyLoss',
                                      use_sigmoid=True,
                                      loss_weight=0.4)),
    auxiliary_head=[
        dict(type='FCNHead',
             in_channels=128,
             channels=32,
             num_convs=1,
             num_classes=19,
             in_index=-2,
             norm_cfg=norm_cfg,
             concat_input=False,
             align_corners=False,
             loss_decode=dict(type='CrossEntropyLoss',
                              use_sigmoid=True,
                              loss_weight=0.4)),
        dict(type='FCNHead',
             in_channels=64,
             channels=32,
             num_convs=1,
             num_classes=19,
             in_index=-3,
             norm_cfg=norm_cfg,
             concat_input=False,
             align_corners=False,
             loss_decode=dict(type='CrossEntropyLoss',
                              use_sigmoid=True,
                              loss_weight=0.4)),
    ],
    # model training and testing settings
    train_cfg=dict(),
    test_cfg=dict(mode='whole'))
